package com.teamsun.util;

/**
 * 常量类
 */
public class Constants {

    /**
     * 报表系统名
     */
    public static final String RPT_SYS = "REPORTSYSTEM";

    public static final String ORAND = "2";

    public static final String YES = "1";

    public static final String NO = "0";

    public static final String COL_TYPE_HID_DIM = "3";

    public static final String COL_TYPE_HID_IDX = "4";

    public static final String RPTDIM_KEY = "rptDim";

    public static final String RPTIDX_KEY = "rptIdx";

    // 缓存报表表头文件KEY
    public static final String RPTHEADERPATH = "rptHeaderPath";

    // 缓存报表配置文件KEY
    public static final String RPTCFGPATH = "rptCfgPath";

    // 报表缓存方式
    public static final String RPTCAHCEMODEL = "rptCacheModel";

    /**
     * 报表文件缓存方式-本地缓存
     */
    public static final String RPTFILE_CACHE_LOCAL = "LOCAL";

    /**
     * 报表文件缓存方式-Redis缓存
     */
    public static final String RPTFILE_CACHE_REDIS = "REDIS";

    /**
     * 报表查询方式(CUBE类型数据查询)
     */
    public static final String TMPLATETYPE_DEFAULT = "0";

    /**
     * 报表查询方式(非CUBE查询)
     */
    public static final String TMPLATETYPE_NOCUBE = "1";

    /**
     * 数据库类型 -- oracle
     */
    public static final String DBTYPE_ORACLE = "oracle";

    /**
     * oracle驱动名称
     */
    public static final String ORACLE_DRIVER = "oracle.jdbc.driver.OracleDriver";

    /**
     * 数据库类型 -- mysql
     */
    public static final String DBTYPE_MYSQL = "mysql";

    /**
     * mysql驱动名
     */
    public static final String MYSQL_DRIVER = "com.mysql.jdbc.Driver";

    /**
     * 如果列宽未配置(默认列宽为1320/列个数)
     */
    public static final int RPT_DEFAULT_WIDTH = 1325;

    /**
     * 如果列宽未配置(页面有左侧菜单时的默认宽度)
     */
    public static final int RPT_ANALYSIS_DEFAULT_WIDTH = 1190;

    /**
     * Excel后缀名xlsx
     */
    public static final String EXCEL_XLSX = "xlsx";

    /**
     * Excel后缀名xls
     */
    public static final String EXCEL_XLS = "xls";

    /**
     * 报表配置列属性 -- width
     */
    public static final String COLATTR_WIDTH = "width";

    /**
     * 报表配置列属性 -- aliasField
     */
    public static final String COLATTR_ALIASFIELD = "aliasField";

    /**
     * 报表配置列属性 -- dynamicFormat
     */
    public static final String COLATTR_DYNAMICFORMAT = "dynamicFormat";

    /**
     * 报表配置列属性dynamicFormat可配置的值
     */
    public static final String DYNAMICFORMAT_VALUE = "formatType";

    /**
     * 报表配置列属性dynamicFormat可配置的值
     */
    public static final String DYANMICFOMAT_DATE = "dateType";

    /**
     * 查询类型 - 输入框
     */
    public static final String CONDITIONTYPE_INPUT = "1";

    /**
     * 查询类型 - 下拉框
     */
    public static final String CONDITIONTYPE_SELECT = "2";

    /**
     * 查询类型 - 日期
     */
    public static final String CONDITIONTYPE_DATE = "3";

    /**
     * 查询类型 - 日期区间
     */
    public static final String CONDITIONTYPE_DATE_RANGE = "4";

    /**
     * 查询类型 - 树
     */
    public static final String CONDITIONTYPE_TREE = "5";

    /**
     * 查询类型 - 值区间
     */
    public static final String CONDITIONTYPE_VALUE_RANGE = "6";

    /**
     * 查询类型 - 多选下拉框
     */
    public static final String CONDITIONTYPE_MULTI_SELECT = "7";

    /**
     * 系统关键字
     */
    public static final String KEY_SORT = "sort";

    /**
     * 系统关键字
     */
    public static final String KEY_ORDER = "order";

    /**
     * 查询条件所属层级 - 最内层
     */
    public static final String CONDITION_LVL_INNER = "0";

    /**
     * 查询条件所属层级 - 中间层
     */
    public static final String CONDITION_LVL_MID = "1";

    /**
     * 查询条件所属层级 - 最外层
     */
    public static final String CONDITION_LVL_OUTER = "2";

    /**
     * 数字格式化方式 - 百分比(直接加百分号)
     */
    public static final String NUMBERFORMATER_PERCENT = "1";

    /**
     * 数字格式化方式 - 百分比(乘以100后加百分号)
     */
    public static final String NUMBERFORMATER_PERCENT_100 = "2";

    public static final String CONSTANTS_UNDEFINED = "undefined";

    public static final String CONSTANTS_NULL = "NULL";

    /**
     * Token签名
     */
    public static final String JWT_SECERT = "rptToken";

    /**
     * 权限系统生成Token
     */
    public static final String JWT_AUTH_SYS = "authSys";

    /**
     * 山东人力系统生成Token
     */
    public static final String JWT_SD_HR = "sdHR";

    /**
     * Token超时错误代码
     */
    public static final String JWT_ERRCODE_EXPIRE = "0";

    /**
     * Token签名错误代码
     */
    public static final String JWT_ERRCODE_FAIL = "1";

    /**
     * 离线下载外部服务地址
     */
    public static final String OFFLINEDOWNLOADURL = "offLineDownLoad.url";

    /**
     * 自定义报表外部服务地址
     */
    public static final String SELFDEFINEURL = "selfDefine.url";

    /**
     * 离线下载实现类
     */
    public static final String OFFLINEDOWNLOADIMPL = "offLineDownLoad.implClass";

    /**
     * 自定义报表实现类
     */
    public static final String SELFDEFINEIMPL = "selfDefine.implClass";

    /**
     * 离线下载接入系统用户名参数key
     */
    public static final String UERKEY="userKey";

    /**
     * 报表配置文件所在机器SFTP访问端口号
     */
    public static final String OFFLINEDOWNLOADPORT = "offLineDownLoad.ftpPort";

    /**
     * 报表配置文件所在机器SFTP访问用户名
     */
    public static final String OFFLINEDOWNLOADUSER = "offLineDownLoad.ftpUser";

    /**
     * 报表配置文件所在机器SFTP访问密码
     */
    public static final String OFFLINEDOWNLOADPASS = "offLineDownLoad.ftpPass";

    /**
     * 报表配置文件所在机器IP地址
     */
    public static final String OFFLINEDOWNLOADIP = "offLineDownLoad.ftpIp";

    public static final String WHEREKEY = "order";

    /**
     * 第三方系统编码参数名
     */
    public static final String SYSCODEPARAM = "itemCode";

    /**
     * 自定义报表传递的标志参数
     */
    public static final String SELFREPORT = "selfReport";

    /**
     * 自定义报表查询条件是否可以选择 1-不可编辑(置灰) 0-可编辑
     */
    public static final String SELFREPORT_CONDITION_STATE = "0";

    /**
     * 保存用户信息的Session属性
     */
    public static final String SESSION_USER = "sessionUser";

    /**
     * 接入系统代码加盐
     */
    public static final String RPT_SALT = "AccessInReport";

    public static final int BATCH_CNT = 5000;
}
